home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / TEST / TEXTFILE.M < prev    next >
Encoding:
Text File  |  1991-02-01  |  1.3 KB  |  58 lines

  1. MODULE TextFile;
  2.  
  3. (*
  4. *)
  5. FROM Terminal IMPORT WriteLn, WriteString, Write, Read, ReadString;
  6. FROM Strings IMPORT StrEqual;
  7. IMPORT Files, Text, Directory;
  8.  
  9. CONST name = "\tmp\test.txt";
  10.  
  11. VAR f: Files.File;
  12.     i,a:CARDINAL;
  13.     ch:CHAR;
  14.     s1:ARRAY [0..19] OF CHAR;
  15.     s2:ARRAY [0..4] OF CHAR;
  16.     s0:ARRAY [0..1] OF CHAR;
  17.     res: INTEGER;
  18.  
  19. PROCEDURE check (REF s1,s2: ARRAY OF CHAR);
  20.   BEGIN
  21.     IF NOT StrEqual (s1,s2) THEN
  22.       WriteString (s1); WriteString (' <> '); WriteString (s2);
  23.       HALT
  24.     END
  25.   END check;
  26.   
  27. BEGIN
  28.   Files.Create (f, name, Files.writeSeqTxt, Files.replaceOld);
  29.   Text.WriteString (f, "123 45  678 ");
  30.   Text.WriteLn (f);
  31.   Text.WriteString (f, " 9012");
  32.   Files.Close (f);
  33.   Files.Open (f, name, Files.readSeqTxt);
  34.   Text.ReadFromLine (f, s0);
  35.   check (s0, "12");
  36.   Text.ReadFromLine (f, s1);
  37.   check (s1, "3 45  678 ");
  38.   Text.ReadLn (f);
  39.   Text.ReadFromLine (f, s1);
  40.   check (s1, " 9012");
  41.   Files.Close (f);
  42.   Files.Open (f, name, Files.readSeqTxt);
  43.   Text.ReadToken (f, s1);
  44.   check (s1, "123");
  45.   Text.ReadToken (f, s1);
  46.   check (s1, "45");
  47.   Text.ReadToken (f, s1);
  48.   check (s1, "678");
  49.   Text.ReadToken (f, s1);
  50.   check (s1, "9012");
  51.   (*
  52.   Text.ReadToken (f, s1);
  53.   check (s1, "9012");
  54.   *)
  55.   Files.Close (f);
  56.   Directory.Delete (name, res)
  57. END TextFile.
  58.